﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using ECOSYSTEM_BL;
using ECOSYSTEM_Dominio;

namespace ECOSYSTEMPRESENTACION
{
    public partial class frmBuscarRegCompra : Form
    {
        public frmBuscarRegCompra()
        {
            InitializeComponent();
        }
        RegistroCompra elRegCompra = new RegistroCompra();
        RegistroCompraBL elRegCompraBL = new RegistroCompraBL();
        frmRegistrarCompra frmRegCompra = new frmRegistrarCompra();
        DetalleComprobante elDetaCompro = new DetalleComprobante();
        DataGridView datos = new DataGridView();
        private void CargarDatosDGV()
        {
            if (dgvListaRegCompra.DataSource == null)
            {
                dgvListaRegCompra.DataSource = elRegCompraBL.ObtenerListaRegCompra();
            }
        }

        private void btnCancelar_Click(object sender, EventArgs e)
        {
            this.Close();
        }

        private void frmBuscarRegCompra_Load(object sender, EventArgs e)
        {
            try
            {
                dgvListaRegCompra.DataSource = elRegCompraBL.ObtenerListaRegCompraPorFecha(DateTime.Now.ToShortDateString());
            }
            catch (Exception ex) { MessageBox.Show(ex.Message); }
        }

        private void dtpFecha_ValueChanged(object sender, EventArgs e)
        {
            dgvListaRegCompra.DataSource = null;
            dgvListaRegCompra.DataSource = elRegCompraBL.ObtenerListaRegCompraPorFecha(dtpFecha.Text);
        }

        private void btnMostrarAll_Click(object sender, EventArgs e)
        {
            dgvListaRegCompra.DataSource = null;
            CargarDatosDGV();
        }
        private void HabilitarGrupos()
        {
            frmRegCompra.groupBox1.Enabled = true;
            frmRegCompra.groupBox2.Enabled = true;
            frmRegCompra.groupBox3.Enabled = true;
            frmRegCompra.groupBox4.Enabled = true;
            frmRegCompra.groupBox7.Enabled = true;
            frmRegCompra.llenarComboProvedor();
            frmRegCompra.llenarComboTransportista();
            frmRegCompra.ObtenerTCambio();
        }

        private void dgvListaRegCompra_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
        {
            Int32 nroFila = Int32.Parse(e.RowIndex.ToString());
            List<DetalleComprobante> lista;
            HabilitarGrupos();
            frmRegCompra.txtTipoComprob.Text = Convert.ToString(dgvListaRegCompra["Tipo Comprobante", nroFila].Value);
            frmRegCompra.txtSerieComprob.Text = Convert.ToString(dgvListaRegCompra["N° Comprobante", nroFila].Value);
            String moneda = Convert.ToString(dgvListaRegCompra["Moneda", nroFila].Value);
            if (moneda == "SOLES")
            {
                frmRegCompra.cmbTipoMoneda.SelectedItem = "S/.";
            }
            else { frmRegCompra.cmbTipoMoneda.SelectedItem = "$"; }
            frmRegCompra.txtTCambioComprob.Text = Convert.ToString(dgvListaRegCompra["TCambio", nroFila].Value);
            frmRegCompra.dtpFecha.Value = Convert.ToDateTime(dgvListaRegCompra["Fec. Registro", nroFila].Value);
            frmRegCompra.cmbListaProvedores.SelectedValue = Convert.ToInt32(dgvListaRegCompra["EmpresaProvedorID", nroFila].Value);
            frmRegCompra.cmbCiudad.SelectedItem = Convert.ToString(dgvListaRegCompra["CiudadProvieneProd", nroFila].Value);
            frmRegCompra.cmbTransportista.SelectedValue = Convert.ToInt32(dgvListaRegCompra["TransportistaID", nroFila].Value);
            frmRegCompra.txtCostoTrans.Text = Convert.ToString(dgvListaRegCompra["CostoTransporte", nroFila].Value);
            frmRegCompra.lblRegCompraID.Text = Convert.ToString(Convert.ToInt32(dgvListaRegCompra["RegCompraID", nroFila].Value));
            lista = elRegCompraBL.ObtenerDetalleRegistroCompra(Convert.ToInt32(dgvListaRegCompra["RegCompraID", nroFila].Value));
            if (lista.Count > 0)
            {
                foreach (DetalleComprobante fila in lista)
                {
                    frmRegCompra.dgvDetalleCompra.Rows.Add(fila.Producto.ToString(), fila.Cantidad.ToString(), fila.PrecioCompra.ToString(), fila.Utilidad.ToString(), fila.Precioventa.ToString(), Convert.ToString(fila.PrecioCompra * fila.Cantidad), fila.CodProd.ToString(), fila.CodHisAlmacen.ToString());
                }
            }
            frmRegCompra.ObtenerCostos();
            frmRegCompra.InstanciarFormSerie();
            frmRegCompra.cbMostrarListaSeries.Enabled = true;
            frmRegCompra.btnNuevo.Enabled = false;
            frmRegCompra.btnBuscar.Enabled = false;
            frmRegCompra.btnActualizar.Enabled = true;
            frmRegCompra.btnCancelar.Enabled = true;
            frmRegCompra.MdiParent = this.MdiParent;
            frmRegCompra.Show();
            this.Close();
        }

        private void btnRegresar_Click(object sender, EventArgs e)
        {
            frmRegCompra.MdiParent = this.MdiParent;
            frmRegCompra.Show();
            this.Close();
        }
    }
}